1. Field of Invention
This invention relates generally to the field of encoding and decoding of data in a data transmission system and, more particularly, to the encoding of binary data into code bits and the subsequent decoding of said code bits such that data transmission capacity is increased and error propagation is minimized.
2. Prior Art
Since the invention of the telegraph, various coding methods have been used for encoding and recovering electrical signals for a variety of reasons. An infinite number of possible coding schemes can be used in data transmission systems. In order to appreciate the advantages of a particular coding apparatus and method, it is important to understand what type of code is being used, what the code's parameters are, and how a particular code compares with other codes in terms of industry accepted standards of merit.
Four types of codes are generally used. These include data translation codes, data encryption codes, error correction codes and modulation codes. Modulation codes are the type of codes used in data transmission applications, such as in magnetic or optical recording systems. The present invention relates to the use of such a modulation code in digital data transmission systems, and is particularly advantageous when used in optical recording systems.
In a modulation code, the parameters to be defined for a given code include the number of data bits to be converted to code bits in a given translation step, the number of resultant code bits obtained from said translation step and whether or not the ratio of code bits to data bits is fixed or variable. In a simple code, for example, each data bit may be converted into three code bits, with this conversion ratio being constant or fixed. The encoding of a particular data bit or bits into a corresponding code bit or bits is performed in a conventional manner using either a fixed look-up table, a state dependent look-up table or a state and source dependent look-up table. The code may also enable self-clocking during decoding, i.e. where the clock is generated from the received code bits, or require an external clock. The purpose of all such codes is to improve the efficiency and the reliability of the data recording or transmission system.
All self-clocking modulation codes are also referred to as run length limited codes (RLL). In such codes, traditionally, each one bit in a coded bit sequence is separated from the nearest adjacent one bit by a number of zero bits at least equal to the minimum quantity d, in order to ensure freedom from inter-symbol interference during recording or transmission, but not exceeding a maximum number k which is required for self-clocking purposes. Examples of run length limited codes employing variable length words is disclosed in U.S. Pat. No. 3,689,899 to P.A. Franaszek.
A problem with using the above described nomenclature is that this nomenclature neither adequately characterizes certain types of modulation codes wherein not all lengths of zero's between d and k are allowed nor distinguishes return to zero (RZ) types of codes from non-return to zero codes. Non-return to zero (NRZ) codes are typically utilized in magnetic media applications wherein flux reversals are written onto the media. In an NRZ code, a binary "1" represents a change in the state of the data, e.g. a flux reversal, regardless of the current polarity of the written data, while a binary "0" represents the absence of such a transition. In optical storage systems, the medium is asymmetrical in that the change in reflectivity of the medium, i.e., the pit or hole generated by a laser, is not the same as an unwritten area. Consequently, RZ codes are used in a writeable optical recording system. With such codes, during a writing process, a binary "1" signifies the on-time of the laser and a binary "0" indicates the off-time of the laser.
Thus, for purposes of comparing both RZ and NRZ, codes known in the art with the present invention, the following definitions will be used:
1. n=the number of source data bits for conversion in each encoding step. PA0 2. m=the number of destination code bits per conversion. PA0 3. Td=one data bit time interval. PA0 4. Tc=one code bit unit of time where Tc= Td.times.n/m. PA0 5. Tn=the time duration of the minimum number of Tc intervals upon read back of information from the medium. PA0 6. Tm=the time duration of the maximum number of Tc intervals upon read back of information from the medium. PA0 7. Tu=T2, T3, etc., the time duration of the intermediate Tc intervals used in the code that can exist upon read back of information from the medium. PA0 8. Ti=the time duration of the minimum number of Tc intervals between Tn, Tu or Tm. PA0 1. D=density=the measure of data density relative to the bandwidth of the system, i.e., D=Tn/Td. PA0 2. W=the detection window, i.e., W=Ti/Tn. PA0 3. FR=the frequency ratio, i.e., FR= Tm/Tn. PA0 4. EP=the error propagation distance in units of Td, i.e., EP=Tm/Td (approx.).
It is well known that a good modulation code will have a high data density, a large detection window, a low frequency ratio and a low error propagation. It can be seen that these values cannot all be optimized simultaneously, so that a given modulation code will tend to favor one or more of these figures of merit over others.
Using the above suggested nomenclature, the following formulas can be used to quantify the above described figures of merit for any particular modulation code:
TABLE 1 ______________________________________ Figures of Merit Code Detection Frequency Error propaga- Type Density Window Ratio tion distance ______________________________________ FM 1/2 1/2 2 1 MFM 1 1/2 2 2 GCR 4/5 1 3 4 3 PM 3/2 1/3 4 6 1, 7 4/3 1/2 4 5 2, 7 3/2 1/3 8/3 4 EFM 4/3 1/3 4 8 Pulsed MFM 1/2 1 3 2 Pulsed 2, 7 3/4 2/3 13/3 4 OEM 1 2/3 3 3 ______________________________________
A number of modulation codes have been devised and are known and used in the art. Figures of merit for various such codes are tabulated in Table 1 for comparison purposes. One of the first modulation codes used for encoding information on rotating magnetic disks utilized a dual frequency or FM (frequency modulation) coding scheme. In this code, the time intervals of 1 and 2 are used to encode data. In the FM coding scheme, using the above suggested nomenclature, the parameters of this code are n=1, m =2, Td=2Tc, Tn=Tc and Tm=2Tc. Figures of merit for the FM code are shown in Table 1.
The FM code was complemented and somewhat replaced by an improved code known as MFM (modified frequency modulation). Both the FM and MFM coding systems have rules which determine the flux patterns which are to be recorded on a magnetic medium for all patterns of incoming data in a magnetic recording system. The MFM code uses the time intervals of 2, 3 and 4 to encode data. The parameters of this code include n=1, m=2, Td=2Tc, Tn=2Tc, Tm=4Tc, Tu=3Tc and Ti=Tc. The figures of merit illustrated in Table 1 for the MFM code show that the data density generated by the MFM code is twice that of the FM code but the detection window is half that of the FM code.
Another significant code in limited use is called the GCR (group coding recording) code, also known as the "4/5 code". In this code, each sequence of 4 data bits are converted into a 5 bit code pattern. Thus, n=4, m=5, and Td=5/4Tc, Tn=Tc, Tm=3Tc, Tu=2Tc and Ti=Tc. This code uses the time intervals of 1, 2 and 3 to encode data. As seen in Table 1, this code has a lower density and a higher frequency ratio than the MFM code, but it has a much larger detection window than the MFM and FM codes.
A code called 3PM was developed to achieve greater recording density. This code uses look-up tables with merging to achieve a density of 1.5. The timing intervals used are 3, 4, 5, 6, 7, 8, 9, 10, 11 and 12 and the code parameters are n=3, m=6, Td=2Tc, Tn=3TC, Tm=12Tc and Ti=Tc. The figures of merit for this code are also shown in Table 1.
Another conventional modulation code is called the 1,7 code. This code encodes 2 data bits into 3 code bits using data and state dependency. As seen in the figures of merit shown in Table 1, this code has a higher data density than the previously mentioned codes with a fairly large detection window. However, it has a large frequency ratio and larger error propagation. The time intervals used are 2, 3, 4, 5, 6, 7 and 8 and the code parameters are n=2, m=3, Td=3/2Tc, Tn=2Tc, Tm=8Tc, Tu=3,4,5,6,7Tc and Ti=Tc.
A modulation code that is presently popular is called the 2,7 code. This code uses a very complicated data and state diagram to achieve a combination of superior performance parameters. This codes uses the time intervals of 3, 4, 5, 6, 7 and 8 to encode data. The code parameters for this code are n=1, m=2, Td =2Tc, Tn=3Tc, Tm=8Tc, Tu=4,5,6,7Tc, and Ti=Tc. The figures of merit for the 2,7 code is also shown in Table 1.
More recent codes have been developed to enable more efficient writing of data onto an optical storage medium. In such cases, instead of generating non-return to zero signals utilizable in magnetic flux reversal media, the characteristics of optical storage media require the controlling of the on time of a laser. One recently introduced such code, that is useable on prestamped optical media, is called the EFM code. See, e.g., K.A. Immink, "Modulation Systems for Digital Audio Discs with Optical Readout", Proc. IEEE Int. Conf. on Acoustics, Speech and Signal Processing, Atlanta 1981, pp. 587-589. This code maps 8 data bits to 15 code bits using a look-up table. Then 3 more code bits are added between code words to limit the run length of a given sequence. The EFM code uses the time intervals of 3, 4, 5, 6, 7, 8, 9, 10, 11 and 12 to encode data. The code parameters for this code are n= 8, m=18, Td=9/4Tc, Tn=3Tc, Tm=12Tc and Ti=Tc. The figures of merit for this code are also shown in Table 1. It does not appear that this code has any merit over the previously described 2,7 code.
Other encoding schemes comprising adaptions of previous encoding schemes are now being introduced for use on optical disk media. One such proposed adaptation adapts the MFM code and a second adapts the 2,7 code. Because of the difficulty in controlling the size of a hole or bit formed in an optical media, these codes define a situation wherein a previous 1 code bit indicates that a hole is formed while a code zero bit means that no hole has been formed. As previously mentioned, the parameters and figures of merit formulas of these codes change when this is done. Specifically, for a pulsed MFM code, the time interval of a hole is 1, the time intervals between holes are 1, 2, and 3 and the timing parameters are n=1, m=2, Td=2Tc, Tn=Tc, Tm=3Tc and Ti=Tc. The figures of merit for the pulsed MFM is shown in Table 1. Note that these figures of merit indicate that this modified code is not as good as the parameters for the original MFM code, or even the early FM code. The pulse 2,7 code has slightly better figures of merit. The timing parameters of the 2,7 pulse code is n=1, m=2, Td=2Tc, Tn=3/2Tc, Tm=13/2Tc and Ti=Tc. The figures of merit for the pulse 2,7 code are also shown in Table 1.
A disadvantage inherent in the use of laser light energy to store encoded data on an optical medium is that pitting cannot be completely restricted to the area defined by the period of laser beam irradiation during writing. When a pulse of laser light irradiates the medium surface during writing for a selected time as the medium moves, the leading and trailing edges of the pit extend somewhat beyond the laser on-time because the thermal propagation of the laser energy on the recording surface continues for a time beyond the selected laser on-time. This pit extension depends on the thermal characteristics of the particular optical disk being used. The severity of pit extension is increased as the length of the laser irradiation is increased, due to the accumulation of thermal effects, resulting in distortion of the encoded data when read. This also results in an increased pit edge transition jitter.
Because of the problem of non-uniform pit extension and excessive pit edge transition jitter, optical systems in the prior art have read encoded data by detecting the presence or absence of a pit using the transition at the center of the pit (referred to as pulse position modulation or PPM) within selected clock time periods. A drawback of PPM is that it limits the maximum density of data that can be written to and read from the medium. That is, only one transition can be detected for each pit, whereas with pit edge transition detection (referred to as pulse width modulation), each pit has two transitions that represent data. Although such pit center detection systems are capable of detecting pit edge transition, according to the prior art, doing so would result in a high error rate due to the variation of the spacing between edges caused by variation in pit edge extension and the resultant increased jitter in the positioning of the pit edge transitions. Consequently, even though a pit edge transition detection scheme would have the great advantage of effectively doubling the data storage capacity of a medium, this technique is not generally used in the prior art. No known scheme is currently known in the art where pit edge detection is used in a write once optical recording system.
The only prior art optical storage systems wherein pit edge modulation is used is in CD-audio and CD-ROM optical recording systems. A typical storage capacity of greater than 550 megabytes on a 120 millimeter diameter CD-ROM disk is readily achievable due to the use of pit edge modulation and EFM coding. The success of this coding is enabled because of the ability to form high quality long pits with low edge jitter on the medium. This is possible because the pits on a CD-ROM disk are generated on a photo-resist coated optical quality glass disk by a high precision and high power laser recording system under carefully controlled conditions. Such processing conditions are not duplicatable on conventional write-once or erasable optical recording systems.
Consequently, what is desired is an apparatus and method for the encoding and subsequent decoding of data using a modulation code which, in a preferred embodiment, enables the edges of the pits formed on an optical medium by a laser to be controlled so as to enable pit edge detection during decoding of the data from the optical medium. What is further desired is a modulation code which enables data to be encoded onto the media using longer pits without increasing jitter in the positioning of the pit edge transitions. What is also desired is an encoding scheme which achieves a balance of figures of merit competitive with codes used in the encoding of data onto magnetic media and superior to prior art optical modulation codes.